//
//  InfoAreaViewController.m
//  PacIsBack
//
//  Created by Simon André on 11/02/10.
//  Copyright 2010 __MyCompanyName__. All rights reserved.
//

#import "InfoAreaViewController.h"
#import "Constants.h";
#import "RPGImageView.h";


@implementation InfoAreaViewController

@synthesize backgroundView, shownTexts, textsShowedView;

/*
 // The designated initializer.  Override if you create the controller programmatically and want to perform customization that is not appropriate for viewDidLoad.
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil {
    if (self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil]) {
        // Custom initialization
    }
    return self;
}
*/

- (id) initEmpty{
	if (self = [super init]) {
		UIView* emptyView = [[UIView alloc] initWithFrame:CGRectMake(0.0, 0.0, infoBarWidth, infoBarHeight)];
		[self setView:emptyView];
		[emptyView release];
		UIImage* backgroundImage = [UIImage imageNamed:@"InfoBar.png"];
		UIImageView* backgroundV = [[RPGImageView alloc] init];
		[backgroundV setImage:backgroundImage];
		[[self view] addSubview:backgroundV];
		[self setBackgroundView:backgroundV];
		[backgroundV release];
		[[self backgroundView] sizeToFit];
		NSMutableArray* emptyShownTexts = [[NSMutableArray alloc] init];
		[self setShownTexts:emptyShownTexts];
		[emptyShownTexts release];
		UIScrollView* emptyScrollView = [[UIScrollView alloc] initWithFrame:CGRectMake(textsInInfoBarPositionX, textsInInfoBarPositionY, textsInInfoBarWidth, textsInInfoBarHeight)];
		[self setTextsShowedView:emptyScrollView];
		[emptyScrollView setBackgroundColor:[UIColor clearColor]];
		[emptyScrollView release];
		[[self view] addSubview:emptyScrollView];
	}
	return self;
}

-(void) updateScrollViewContentSize{
	[[self textsShowedView] setContentSize:CGSizeMake(textsInInfoBarWidth, [[self shownTexts] count]*textHeight)];
}

-(void) addLine:(NSString*) line{
	UITextView* newText = [[UITextView alloc] initWithFrame:CGRectMake(0.0, [[self shownTexts] count]*textHeight, textsInInfoBarWidth, textHeight)];
	[newText setBackgroundColor:[UIColor clearColor]];
	[newText setText:line];
	[newText setScrollEnabled:NO];
	[newText setEditable:NO];
	[[self shownTexts] addObject:newText];
	[self updateScrollViewContentSize];
	[[self textsShowedView] addSubview:newText];
	[[self textsShowedView] setContentOffset:CGPointMake(0.0, ([newText center].y)-([[self textsShowedView] frame].size.height/2)) animated:NO];
	[newText release];
}

/*
// Implement loadView to create a view hierarchy programmatically, without using a nib.
- (void)loadView {
}
*/

/*
// Implement viewDidLoad to do additional setup after loading the view, typically from a nib.
- (void)viewDidLoad {
    [super viewDidLoad];
}
*/

/*
// Override to allow orientations other than the default portrait orientation.
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
    // Return YES for supported orientations
    return (interfaceOrientation == UIInterfaceOrientationPortrait);
}
*/

- (void)didReceiveMemoryWarning {
	// Releases the view if it doesn't have a superview.
    [super didReceiveMemoryWarning];
	
	// Release any cached data, images, etc that aren't in use.
}

- (void)viewDidUnload {
	// Release any retained subviews of the main view.
	// e.g. self.myOutlet = nil;
}


- (void)dealloc {
	[self setBackgroundView:nil];
	[self setShownTexts:nil];
	[self setTextsShowedView:nil];
    [super dealloc];
}


@end
